<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>面向对象的世界</title>
</head>
<body>
    <script>
    //了解夏总？
    //需求开发出来
    //自然语言 代码的映射  情商编程码商
    //JS是强大表现力的语言，[]
    //{}JSON 对象字面量
    //Object
    const xh = {
        // String
        company: undefined,// 未定义
        girlfriend: null,
        name: '夏宏',
        // Number
        age: 21,
        school: '东华理工大学',
        hometown:'鹰潭',
        // boolean
        isSingle:true,
        // 函数也是对象
        eating: function (){
            console.log( '干饭干饭');
        },
        sendFlower: function (target) {
            target.receiveFlower(this);
        }
    
    }
    const xm = {
        name: '小美',
        xq: 50,
        receiveFlower: function (sender){
            // console.log(this.name + '收到了' + sender.name+ '送出的花');
            // 代码可读性            
            console.log(`${this.name}收到了${sender.name}送出的花`)
            if (this.xq >= 90) {
                console.log('万达走一波');
            } else {
                console.log('不约，我们不约');
            }
        }
    }
    //实参
    xh.sendFlower(xm);
    // 比较复杂
    // proxy 代理对象
    xl = {
        name: '小丽',
        hometown: '鹰潭',
        receiveFlower: function(sender) {
            // 代替小美收花 实现同样的方法，也就是接口
            // if(sender.name == '夏宏') {
            //     console.log('夏哥，让我们在一起吧....')
            // }
            if (xm.xq < 90) {
                console.log('等一等')
                setTimeout(function() {
                    xm.xq = 91;
                    xm.receiveFlower(sender);
                }, 2000)
            } else {
                xm.receiveFlower(sender);
            }
        }
    }
    // 当小丽也具有和小美一样的receiveFlower方法，xl就可以
    // 代替xm 收花，proxy 代理模式
    // receiveFlower 也叫接口  面向接口编程

    // xh.sendFlower(xl);
    xh.sendFlower(xm);
    

    </script>
</body>
</html>